//
//  Date+Extension.swift
//  JPWeibo
//
//  Created by 哇咔咔 on 16/9/28.
//  Copyright © 2016年 jp. All rights reserved.
//

import Foundation


extension Date {
    
    //  获取微博创建时间
    static func creatDate(dateStr: String) -> Date {
        
        let dt = DateFormatter()
        
        dt.dateFormat = "EEE MMM dd HH:mm:ss z yyyy"
        dt.locale = Locale(identifier: "en_US")
        
        guard let creatAtDate = dt.date(from: dateStr) else {
            return Date()
        }

        return creatAtDate
    }
    
    var sinceDateFromNow: String {
        
        let dt = DateFormatter()
        dt.locale = Locale(identifier: "en_US")
        //  是否是今年
        if self.isThisYear() {
            let currentCalender = Calendar.current
            
            //  是否是今天
            if currentCalender.isDateInToday(self) {
                
                let timeInterval = abs(self.timeIntervalSinceNow)
                //  是否是一分钟内
                if timeInterval < 60 {
                    return "刚刚"
                //  是否是一小时内
                }else if timeInterval < 3600 {
                    return "\(Int(timeInterval / 60))分钟前"
                }else {
                    return "\(Int(timeInterval / 3600))小时前"
                }
                
            }else if currentCalender.isDateInYesterday(self) {
                dt.dateFormat = "昨天 HH:mm"
            }else {
                dt.dateFormat = "MM-dd HH:mm"
            }
        }else {
            dt.dateFormat = "yyyy-MM-dd HH:mm"
        }
        
        return dt.string(from: self)
    }
    
    
    //  判断时间是否是今年
    func isThisYear() -> Bool {
        
        let dt = DateFormatter()
        
        dt.dateFormat = "yyyy"
        dt.locale = Locale(identifier: "en_US")
        
        
        let creatYear = dt.string(from: self)
        let currentYear = dt.string(from: Date())
        
        return creatYear == currentYear
    }
}

